home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 015 / fxfonts.bas < prev    next >
BASIC Source File  |  1987-01-03  |  6KB  |  146 lines

  1. 10 REM THIS PROGRAM SETS PRINTER FEATURES ON THE RX-80
  2. 20 REM  BY JACK MALUSKY, CBI 10/4/83 (MOD. 8/3/84) ** MS/DOS VERSION
  3. 30 PRINT : PRINT : PRINT
  4. 40 DIM A!(30) : I=1! : LPRINT CHR$(27);"@";
  5. 50 DIM OP$(30) : DIM N$(30) : X$="          "
  6. 60 FOR J=1 TO 30
  7. 70 N$(J)="OFF" : NEXT J
  8. 80 N$(2)="ON"
  9. 90 OP$(1)="1. ELITE SIZE PRINT"
  10. 100 OP$(2)="2. PICA SIZE PRINT"
  11. 110 OP$(3)="3. DOUBLE-WIDE"
  12. 120 OP$(4)="4. CONDENSED PRINT"
  13. 130 OP$(5)="5. EMPHASIZED MODE"
  14. 140 OP$(6)="6. DOUBLE-STRIKE"
  15. 150 OP$(7)="7. SUPER-SCRIPT MODE"
  16. 160 OP$(8)="8. SUB-SCRIPT MODE"
  17. 170 OP$(9)="9. UNDER-LINE"
  18. 180 OP$(10)="10.SET HALF SPEED "
  19. 190 OP$(11)="11.BI/UNI DIRECTIONAL"
  20. 200 OP$(12)="12.RING PRINT BUZZER"
  21. 210 OP$(13)="13.TOGGLE 6/8 LPI "
  22. 220 OP$(14)="14.USA CHAR SET   "
  23. 230 OP$(15)="15.FRANCE CHAR SET"
  24. 240 OP$(16)="16.GERMAN CHAR SET"
  25. 250 OP$(17)="17.U.K. CHAR SET  "
  26. 260 OP$(18)="18.DENMARK CHAR SET"
  27. 270 OP$(19)="19.SWEDEN CHAR SET"
  28. 280 OP$(20)="20.ITALIAN CHAR SET"
  29. 290 OP$(21)="21.SPAIN CHAR SET "
  30. 300 OP$(22)="22.JAPAN CHAR SET "
  31. 310 OP$(23)="23.NORWAY CHAR SET"
  32. 320 OP$(24)="24.DENMARK 2 CHAR SET"
  33. 330 OP$(25)="25.GRAPHICS CHARS "
  34. 340 OP$(26)="26.SET ITALICS    "
  35. 350 OP$(27)="27.BABY FACE FONT "
  36. 360 OP$(28)="28.               "
  37. 370 OP$(29)="29.RESET ALL SETTINGS"
  38. 380 OP$(30)="30.PRINT TEST LINE"
  39. 390 LPRINT CHR$(27);"@"; : REM INITIALIZE PRINTER
  40. 400 PRINT : PRINT TAB(15)"PRINTER OPTION SELECTION MENU"
  41. 410 PRINT TAB(15)"      by Jack Malusky"
  42. 420 PRINT : PRINT
  43. 430 FOR J=1 TO 15
  44. 440 PRINT OP$(J);TAB(25);N$(J);TAB(35);OP$(J+15);TAB(57);N$(J+15): NEXT J
  45. 450 PRINT:PRINT TAB(16);"SELECT OPTIONS BY NUMBER -- 0 TO END" : PRINT
  46. 460 INPUT A! : IF A!=0  OR A!>30 THEN GOTO 1450 
  47. 470 IF N$(A!)="OFF" THEN N$(A!)="ON" : GOTO 490
  48. 480 N$(A!)="OFF" : GOTO 490
  49. 490 ON A! GOSUB 510,540,570,600,620,650,690,730,770,800,830,860,880,910,940,970,1000,1030,1060,1090,1120,1150,1180,1210,1240,1290,1320,1290,1360,1400
  50. 500 GOTO 400
  51. 510 REM ELITE
  52. 520 IF N$(2)="ON" THEN N$(2)="OFF"
  53. 530 LPRINT CHR$(27);"M"; : RETURN 
  54. 540 REM PICA
  55. 550 IF N$(1)="ON" THEN N$(1)="OFF"
  56. 560 LPRINT CHR$(27);"P"; : RETURN
  57. 570 REM DOUBLE-WIDE
  58. 580 IF N$(3)="ON" THEN LPRINT CHR$(27);"W";CHR$(1); : RETURN
  59. 590 LPRINT CHR$(27);"W";CHR$(0); : RETURN
  60. 600 REM CONDENSED
  61. 610 IF N$(4)="ON" THEN LPRINT CHR$(15);  ELSE LPRINT CHR$(18); : RETURN
  62. 620 REM EMPHASIZED
  63. 630 IF N$(5)="ON" THEN LPRINT CHR$(27)"E";  : RETURN
  64. 640 IF N$(5)="OFF" THEN LPRINT CHR$(27)"F"; : RETURN
  65. 650 REM DOUBLESTRIKE
  66. 660 IF N$(6)="ON" THEN LPRINT CHR$(27);"G"; : RETURN
  67. 670 IF N$(6)="OFF" THEN LPRINT CHR$(27);"H";: RETURN
  68. 680 LPRINT CHR$(27);"G"; : RETURN
  69. 690 REM SUPER-SCRIPT 
  70. 700 IF N$(7)="OFF" THEN LPRINT CHR$(27);"T"; : RETURN
  71. 710 IF N$(8)="ON" AND N$(7)="OFF" THEN N$(8)="OFF"  :  N$(7)="ON"
  72. 720 LPRINT CHR$(27);"S";CHR$(0); : RETURN
  73. 730 REM SUB-SCRIPT
  74. 740 IF N$(8)="OFF" THEN LPRINT CHR$(27);"T"; : RETURN
  75. 750 IF N$(7)="ON" AND N$(8)="OFF" THEN N$(7)="OFF"  :  N$(8)="ON"
  76. 760 LPRINT CHR$(27);"S";CHR$(1); : RETURN
  77. 770 REM UNDER-LINE MODE
  78. 780 IF N$(9)="OFF" THEN LPRINT CHR$(27);"-";CHR$(0); : RETURN
  79. 790 LPRINT CHR$(27);"-";CHR$(1); : RETURN
  80. 800 REM #10 HALF SPEED PRINTING
  81. 810 IF N$(10)="ON" THEN LPRINT CHR$(27);"s";CHR$(1); :RETURN
  82. 820 IF N$(10)="OFF" THEN LPRINT CHR$(27);"s";CHR$(0); : RETURN
  83. 830 REM #11 SET BI OR UNI DIRECTIONAL PRINTING
  84. 840 IF N$(11)="ON" THEN LPRINT CHR$(27);"U";CHR$(1); : RETURN
  85. 850 IF N$(11)="OFF" THEN LPRINT CHR$(27);"U";CHR$(0); : RETURN
  86. 860 REM #12 RING BUZZER ON PRINTER
  87. 870 LPRINT CHR$(7); : RETURN
  88. 880 REM #13 TOGGLE BETWEEN 6/8 LINES PER INCH PRINTING
  89. 890 IF N$(13)="OFF" THEN LPRINT CHR$(27);"2"; : RETURN
  90. 900 IF N$(13)="ON"  THEN LPRINT CHR$(27);"0"; : RETURN
  91. 910 REM #14 USA CHAR SET
  92. 920 LPRINT CHR$(27)"R"CHR$(0); : FOR J=33 TO 126
  93. 930 LPRINT CHR$(J); : NEXT J : LPRINT X$;OP$(14): GOSUB 1400 : RETURN
  94. 940 REM #15 FRANCE CHAR SET
  95. 950 LPRINT CHR$(27);"R";CHR$(1); : FOR J=33 TO 126
  96. 960 LPRINT CHR$(J); : NEXT J : LPRINT X$;OP$(15): GOSUB 1400 : RETURN
  97. 970 REM #16 GERMANY CHAR SET
  98. 980 LPRINT CHR$(27);"R";CHR$(2); : FOR J=33 TO 126 
  99. 990 LPRINT CHR$(J); : NEXT J : LPRINT X$;OP$(16): GOSUB 1400 : RETURN
  100. 1000 REM #17 U.K. CHAR SET
  101. 1010 LPRINT CHR$(27);"R";CHR$(3); : FOR J=33 TO 126
  102. 1020 LPRINT CHR$(J); : NEXT J : LPRINT X$;OP$(17): GOSUB 1400 : RETURN
  103. 1030 REM #18 DENMARK CHAR SET
  104. 1040 LPRINT CHR$(27);"R";CHR$(4); : FOR J=33 TO 126 
  105. 1050 LPRINT CHR$(J); : NEXT J : LPRINT X$;OP$(18): GOSUB 1400 : RETURN
  106. 1060 REM #19 SWEDEN CHAR SET
  107. 1070 LPRINT CHR$(27);"R";CHR$(5); : FOR J=33 TO 126
  108. 1080 LPRINT CHR$(J); : NEXT J : LPRINT X$;OP$(19): GOSUB 1400 : RETURN
  109. 1090 REM #20 ITALIAN CHAR SET
  110. 1100 LPRINT CHR$(27);"R";CHR$(6); : FOR J=33 TO 126
  111. 1110 LPRINT CHR$(J); : NEXT J : LPRINT X$;OP$(20): GOSUB 1400 : RETURN
  112. 1120 REM #21 SPAIN CHAR SET
  113. 1130 LPRINT CHR$(27);"R";CHR$(7); : FOR J=33 TO 126
  114. 1140 LPRINT CHR$(J); : NEXT J : LPRINT X$;OP$(21): GOSUB 1400 : RETURN
  115. 1150 REM #22 JAPAN CHAR SET
  116. 1160 LPRINT CHR$(27);"R";CHR$(8); : FOR J=33 TO 126
  117. 1170 LPRINT CHR$(J); : NEXT J : LPRINT X$;OP$(22) : GOSUB 1400 : RETURN
  118. 1180 REM #23 NORWAY CHAR SET
  119. 1190 LPRINT CHR$(27);"R";CHR$(9); : FOR J=33 TO 126
  120. 1200 LPRINT CHR$(J); : NEXT J : LPRINT X$;OP$(23): GOSUB 1400 : RETURN
  121. 1210 REM #24 DENMARK CHAR SET #2
  122. 1220 LPRINT CHR$(27);"R";CHR$(10); : FOR J=33 TO 126
  123. 1230 LPRINT CHR$(J); : NEXT J : LPRINT X$;OP$(24): GOSUB 1400 : RETURN
  124. 1240 REM #25 PRINT GRAPHICS CHARS
  125. 1250 LPRINT CHR$(27);"m";CHR$(4);
  126. 1260 FOR J=128 TO 159
  127. 1270 LPRINT CHR$(J);" "; : NEXT J : LPRINT : GOSUB 1400
  128. 1280 LPRINT CHR$(27);"m";CHR$(0); : RETURN
  129. 1290 REM #26 SET ITALICS
  130. 1300 IF N$(26)="ON" THEN LPRINT CHR$(27);"4"; : RETURN
  131. 1310 IF N$(26)="OFF" THEN LPRINT CHR$(27);"5"; : RETURN
  132. 1320 REM #27 BABY-FACE FONT
  133. 1330 IF N$(27)="ON" THEN LPRINT CHR$(15)CHR$(27)CHR$(83)CHR$(1)CHR$(27)CHR$(65)CHR$(6); : RETURN
  134. 1340 IF N$(27)="OFF" THEN LPRINT CHR$(27);"@"; : RETURN
  135. 1350 REM #28
  136. 1360 REM #29 RESET ALL SETTINGS
  137. 1370 FOR J=1 TO 30
  138. 1380 N$(J)="OFF" : NEXT J
  139. 1390 N$(2)="ON"  : LPRINT CHR$(27);"@"; : RETURN
  140. 1400 REM THIS WILL PRINT 3 TEST LINES TO CHECK THE SETTINGS
  141. 1410 LPRINT "THIS IS A TEST LINE #1"
  142. 1420 LPRINT "TEST PATTERN FOR RX #2"
  143. 1430 LPRINT "FINAL LINE 1,2,3,4  #3" : LPRINT : LPRINT : LPRINT : LPRINT
  144. 1440 RETURN
  145. 1450 CLOSE : SYSTEM :END 
  146.